package com.swa99ylum.pxp.a.a003;

import java.io.File;
import java.io.FileInputStream;
import java.util.ArrayList;
import java.util.List;

import org.apache.poi.xssf.usermodel.XSSFWorkbook;

import com.lsy.poi.PluggableFileParser;
import com.lsy.poi.cell.CellParser;
import com.lsy.poi.row.RowParser;
import com.lsy.poi.sheet.SheetParser;


public class Test2 {

	public static void main(String[] args) throws Exception {
		
		File file = new File("VP_VS_RS_1427266837892.xlsx");
		System.out.println(file.getAbsolutePath());
		
		FileInputStream fis = new FileInputStream(file);
		XSSFWorkbook xwb = new XSSFWorkbook(fis);
		
		System.out.println("=============================");
		
		
		List<Foo1> sss2 = new ArrayList<Foo1>();
		List<String> sss1 = new ArrayList<String>();
		
		//所有的 index，都是 左闭右闭 的
//		SheetParser[] sheetParsers = new SheetParser[] {
//				new SheetParser(new String[]{"VP_VS_RS"},
//					new RowParser[] {
//						new RowParser(1, 1, //TODO: 当 rowIndex 超出 实际时，会报错，但是 报错信息 不准确
//								new CellParser[] {
//									new CellParser(1, 1),
//								},
//								sss1
//						),
//						new RowParser(1, 10, //TODO: 当 rowIndex 超出 实际时，会报错，但是 报错信息 不准确
//								new CellParser[] {
//									new CellParser(2, 2),
//									new CellParser(3, 21, new IntegerCellExtractor()),
//								},
//								sss2,
//								new String[]{"carName", 
//								"jan", "feb", "mar", "apr", "may", "jun", 
//								"jul", "aug", "sep", "oct", "nov", "dec", 
//								"q1", "q2", "q3", "q4", "h1", "h2", "fy"},
//								Foo1.class
//						),
//					}
//				),
//		};
		
		
//		List<String> errors = new ArrayList<String>();
//		
//		PluggableFileParser.parse(xwb, sheetParsers, errors);
//		
//		
//		System.out.println("=====> 错误个数：" + errors.size());
//		for (String error : errors) {
//			System.out.println(error);
//		}
//		System.out.println("====================>>>>>");
//		for (String string : sss1) {
//			System.out.println(string);
//		}
//		for (Foo1 foo1 : sss2) {
//			System.out.println(foo1);
//		}
		
		
		
		
		
		
		
	}
}
